namespace System
{
	using System;
	using System.Runtime.CompilerServices;
	using System.Html;
	using System.Collections;
	
	
	/// <summary>These functions are available as static methods on the JavaScript String object.</summary>
	/// <definedin>src\core\Ext-more.js</definedin>
	/// <definedin>src\core\Ext-more.js</definedin>
	/// <definedin>src\core\Ext-more.js</definedin>
	/// <definedin>src\ext-core\src\core\Ext.js</definedin>
	/// <definedin>src\ext-core\src\core\Ext.js</definedin>
	/// <definedin>src\ext-core\src\core\Ext.js</definedin>
	/// <definedin>src\ext-core\src\core\Ext.js</definedin>
	[ScriptName("String")]
	[IgnoreNamespace()]
	[Imported()]
	public sealed partial class StringExtensions
	{
		
		#region Snippets
		public static implicit operator System.String (StringExtensions thisObject)
		{
				throw new System.Exception ("Imported - Not Implemented");
		}
		
		public static implicit operator StringExtensions (System.String otherObject)
		{
				throw new System.Exception ("Imported - Not Implemented");
		}
		#endregion
		
		#region Constructors
		private StringExtensions()
		{
		}
		#endregion
		
		#region Methods
		/// <summary>Escapes the passed string for &apos; and \</summary>
		/// <definedin>src\core\Ext-more.js</definedin>
		/// <param name="string">The string to escape</param>
		/// <returns>The escaped string</returns>
		[ScriptName("escape")]
		public static string Escape(string @string)
		{
			throw new System.Exception("Imported - not implemented");
		}
		
		/// <summary>
		/// Utility function that allows you to easily switch a string between two alternating values. The passed value
		/// is compared to the current string, and if they are equal, the other value that was passed in is returned. If
		/// they are already different, the first value passed in is returned. Note that this method returns the new value
		/// but does not change the current string.
		/// 
		/// // alternate sort directions
		/// sort = sort.toggle(&apos;ASC&apos;, &apos;DESC&apos;);
		///
		/// // instead of conditional logic:
		/// sort = (sort == &apos;ASC&apos; ? &apos;DESC&apos; : &apos;ASC&apos;);
		/// </summary>
		/// <htmlSummary>
		/// Utility function that allows you to easily switch a string between two alternating values. The passed value
		/// is compared to the current string, and if they are equal, the other value that was passed in is returned. If
		/// they are already different, the first value passed in is returned. Note that this method returns the new value
		/// but does not change the current string.
		/// &lt;pre&gt;&lt;code&gt;
		/// // alternate sort directions
		/// sort = sort.toggle(&apos;ASC&apos;, &apos;DESC&apos;);
		///
		/// // instead of conditional logic:
		/// sort = (sort == &apos;ASC&apos; ? &apos;DESC&apos; : &apos;ASC&apos;);
		/// &lt;/code&gt;&lt;/pre&gt;
		/// </htmlSummary>
		/// <definedin>src\core\Ext-more.js</definedin>
		/// <param name="value">The value to compare to the current string</param>
		/// <param name="other">The new value to use if the string already equals the first value passed in</param>
		/// <returns>The new value</returns>
		[ScriptName("toggle")]
		public string Toggle(string value, string other)
		{
			throw new System.Exception("Imported - not implemented");
		}
		
		/// <summary>
		/// Trims whitespace from either end of a string, leaving spaces within the string intact. Example:
		/// 
		/// var s = &apos; foo bar &apos;;
		/// alert(&apos;-&apos; + s + &apos;-&apos;); //alerts &quot;- foo bar -&quot;
		/// alert(&apos;-&apos; + s.trim() + &apos;-&apos;); //alerts &quot;-foo bar-&quot;
		/// </summary>
		/// <htmlSummary>
		/// Trims whitespace from either end of a string, leaving spaces within the string intact. Example:
		/// &lt;pre&gt;&lt;code&gt;
		/// var s = &apos; foo bar &apos;;
		/// alert(&apos;-&apos; + s + &apos;-&apos;); //alerts &quot;- foo bar -&quot;
		/// alert(&apos;-&apos; + s.trim() + &apos;-&apos;); //alerts &quot;-foo bar-&quot;
		/// &lt;/code&gt;&lt;/pre&gt;
		/// </htmlSummary>
		/// <definedin>src\core\Ext-more.js</definedin>
		/// <returns>The trimmed string</returns>
		[ScriptName("trim")]
		public string Trim()
		{
			throw new System.Exception("Imported - not implemented");
		}
		
		/// <summary>
		/// Allows you to define a tokenized string and pass an arbitrary number of arguments to replace the tokens. Each
		/// token must be unique, and must increment in the format {0}, {1}, etc. Example usage:
		/// 
		/// var cls = &apos;my-class&apos;, text = &apos;Some text&apos;;
		/// var s = String.format(&apos;&amp;lt;div class=&quot;{0}&quot;&gt;{1}&amp;lt;/div&gt;&apos;, cls, text);
		/// // s now contains the string: &apos;&amp;lt;div class=&quot;my-class&quot;&gt;Some text&amp;lt;/div&gt;&apos;
		/// </summary>
		/// <htmlSummary>
		/// Allows you to define a tokenized string and pass an arbitrary number of arguments to replace the tokens. Each
		/// token must be unique, and must increment in the format {0}, {1}, etc. Example usage:
		/// &lt;pre&gt;&lt;code&gt;
		/// var cls = &apos;my-class&apos;, text = &apos;Some text&apos;;
		/// var s = String.format(&apos;&amp;lt;div class=&quot;{0}&quot;&gt;{1}&amp;lt;/div&gt;&apos;, cls, text);
		/// // s now contains the string: &apos;&amp;lt;div class=&quot;my-class&quot;&gt;Some text&amp;lt;/div&gt;&apos;
		/// &lt;/code&gt;&lt;/pre&gt;
		/// </htmlSummary>
		/// <definedin>src\ext-core\src\core\Ext.js</definedin>
		/// <param name="string">The tokenized string to be formatted</param>
		/// <param name="value1">The value to replace token {0}</param>
		/// <param name="value2">Etc...</param>
		/// <returns>The formatted string</returns>
		[ScriptName("format")]
		public static string Format(string @string, string value1, string value2)
		{
			throw new System.Exception("Imported - not implemented");
		}
		
		/// <summary>
		/// Pads the left side of a string with a specified character. This is especially useful
		/// for normalizing number and date strings. Example usage:
		/// 
		/// var s = String.leftPad(&apos;123&apos;, 5, &apos;0&apos;);
		/// // s now contains the string: &apos;00123&apos;
		/// </summary>
		/// <htmlSummary>
		/// Pads the left side of a string with a specified character. This is especially useful
		/// for normalizing number and date strings. Example usage:
		/// &lt;pre&gt;&lt;code&gt;
		/// var s = String.leftPad(&apos;123&apos;, 5, &apos;0&apos;);
		/// // s now contains the string: &apos;00123&apos;
		/// &lt;/code&gt;&lt;/pre&gt;
		/// </htmlSummary>
		/// <definedin>src\core\Ext-more.js</definedin>
		/// <param name="string">The original string</param>
		/// <param name="size">The total length of the output string</param>
		/// <param name="char">The character with which to pad the original string (defaults to empty string &quot; &quot;)</param>
		/// <returns>The padded string</returns>
		[ScriptName("leftPad")]
		public static string LeftPad(string @string, System.Number size, string @char)
		{
			throw new System.Exception("Imported - not implemented");
		}
		
		/// <summary>
		/// Pads the left side of a string with a specified character. This is especially useful
		/// for normalizing number and date strings. Example usage:
		/// 
		/// var s = String.leftPad(&apos;123&apos;, 5, &apos;0&apos;);
		/// // s now contains the string: &apos;00123&apos;
		/// </summary>
		/// <htmlSummary>
		/// Pads the left side of a string with a specified character. This is especially useful
		/// for normalizing number and date strings. Example usage:
		/// &lt;pre&gt;&lt;code&gt;
		/// var s = String.leftPad(&apos;123&apos;, 5, &apos;0&apos;);
		/// // s now contains the string: &apos;00123&apos;
		/// &lt;/code&gt;&lt;/pre&gt;
		/// </htmlSummary>
		/// <definedin>src\core\Ext-more.js</definedin>
		/// <param name="string">The original string</param>
		/// <param name="size">The total length of the output string</param>
		/// <returns>The padded string</returns>
		[ScriptName("leftPad")]
		public static string LeftPad(string @string, System.Number size)
		{
			throw new System.Exception("Imported - not implemented");
		}
		#endregion
	}
}
